<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Object-oriented JavaScript class further exercises</title>
</head>

<body>
    <p>This example requires you to enter commands in your browser's JavaScript console (see <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools">What are browser developer tools</a> for more information).</p>
    <script>
    function Person(first, last, age, gender, interests) {
        this.name = {
            'first': first,
            'last': last
        };
        this.age = age;
        this.gender = gender;
        this.interests = interests;
        this.bio = function() {
            // First define a string, and make it equal to the part of
            // the bio that we know will always be the same.
            var string = this.name.first + ' ' + this.name.last + ' is ' + this.age + ' years old. ';
            // define a variable that will contain the pronoun part of
            // the second sentence
            var pronoun;
            // check what the value of gender is, and set pronoun
            // to an appropriate value in each case
            if (this.gender === 'male' || this.gender === 'Male' || this.gender === 'm' || this.gender === 'M') {
                pronoun = 'He likes ';
            } else if (this.gender === 'female' || this.gender === 'Female' || this.gender === 'f' || this.gender === 'F') {
                pronoun = 'She likes ';
            } else {
                pronoun = 'They like ';
            }
            // add the pronoun string on to the end of the main string
            string += pronoun;
            // use another conditional to structure the last part of the
            // second sentence depending on whether the number of interests
            // is 1, 2, or 3
            if (this.interests.length === 1) {
                string += this.interests[0] + '.';
            } else if (this.interests.length === 2) {
                string += this.interests[0] + ' and ' + this.interests[1] + '.';
            } else {
                // if there are more than 2 interests, we loop through them
                // all, adding each one to the main string followed by a comma,
                // except for the last one, which needs an and & a full stop
                for (var i = 0; i < this.interests.length; i++) {
                    if (i === this.interests.length - 1) {
                        string += 'and ' + this.interests[i] + '.';
                    } else {
                        string += this.interests[i] + ', ';
                    }
                }
            }
            // finally, with the string built, we alert() it
            alert(string);
        };
        this.greeting = function() {
            alert('Hi! I\'m ' + this.name.first + '.');
        };
    };
    var person1 = new Person('Tammi', 'Smith', 32, 'neutral', ['music', 'skiing', 'kickboxing']);

    Person.prototype.farewell = function() {
        alert(this.name.first + 'has left the building. Bye for now!');
        oy98
    }
    </script>
</body>

</html>